メインコンテンツへスキップ
バージョン: 5.0

RocketMQ Connect 概要

RocketMQ Connect は、RocketMQ のデータ統合における重要なコンポーネントであり、様々なシステムとの間で効率的かつ信頼性の高いデータ転送を実現します。これは、低レイテンシ、高信頼性、高パフォーマンス、ローコード、強力な拡張性を持つ、独立した分散型でスケーラブルかつフォールトトレラントなシステムです。さまざまな異種データシステムの接続、データパイプラインの構築、ETL、CDC、データレイク機能を実現できます。

RocketMQ Connect Overview

コネクターの動作原理

RocketMQ Connect は、スタンドアロンで分散型、スケーラブルかつフォールトトレラントなシステムであり、主に RocketMQ に様々な外部システムとの間でデータを流し込む機能を提供します。ユーザーはプログラミングを行う必要はなく、簡単な設定だけで RocketMQ Connect を使用できます。例えば、MySQL から RocketMQ にデータを同期する場合、アカウントパスワード、接続先アドレス、同期する必要のあるデータベースとテーブル名を構成するだけで済みます。

コネクターのユースケース

ストリーミングデータパイプラインの構築

RocketMQ Connect使用场景

ビジネスシステムでは、MySQL の優れたトランザクションサポートを使用してデータの追加、削除、変更を処理し、ElasticSearch および Solr を使用して強力な検索機能を実現したり、生成されたビジネスデータをデータ分析システムやデータレイク(Hudi など)に同期してさらに処理することで、データの価値を高めています。RocketMQ Connect を使用すると、このようなデータパイプライン機能を簡単に実現できます。必要なタスクは 3 つだけです。最初のタスクは MySQL からデータを取得し、2 番目と 3 番目のタスクは RocketMQ から ElasticSearch および Hudi にデータを消費します。これら 3 つのタスクを設定することで、MySQL から ElasticSearch および MySQL から Hudi への 2 つのデータパイプラインが実現し、ビジネスにおけるトランザクションのニーズだけでなく、検索のニーズも満たし、データレイクを構築することもできます。

CDC

ETL パターンの 1 つである CDC は、データベースの INSERT、UPDATE、DELETE の変更をほぼリアルタイムでキャプチャできます。RocketMQ Connect のデータ伝送は、高可用性と低レイテンシの特性を備えており、コネクターを通じて CDC を簡単に実現できます。

コネクターのデプロイ

コネクターの作成は、通常、構成を通じて完了します。コネクターには、一般的に論理コネクターと、データレプリケーションを実行するタスク(物理スレッド)が含まれます。次の図に示すように、2 つのコネクターと、それに対応する実行中のタスクがあります。

RocketMQ Connect任务模型1

コネクターは、コネクターの並列性を高めるために、複数のタスクを同時に実行することもできます。たとえば、下の図の Hudi Sink コネクターには 2 つのタスクがあり、各タスクは異なるシャードデータを処理するため、コネクターの並列性が高まり、処理パフォーマンスが向上します。

RocketMQ Connect任务模型2

RocketMQ Connect Worker は、クラスタとシングルマシンの 2 つの実行モードをサポートします。クラスタモードでは、名前が示すように、複数の Worker ノードがあり、高可用性クラスタを形成するには、少なくとも 2 つの Worker ノードを持つことをお勧めします。クラスタ構成情報、オフセット情報、およびステータス情報は、指定された RocketMQ トピックに保存されます。新しい Worker ノードも、これらの構成、オフセット、およびステータス情報を取得し、クラスタ内のタスクを再割り当てしてバランスのとれた状態を実現するためにロードバランシングをトリガーします。また、Worker ノードの数を減らしたり、Worker ノードがダウンした場合も、ロードバランシングをトリガーして、クラスタ内のすべてのタスクがクラスタの生存ノード上で正常に実行されるようにします。

RocketMQ Connect部署模型集群

スタンドアロンモードでは、コネクタータスクは単一のマシンで実行され、Worker 自体には高可用性がなく、タスクオフセット情報はローカルに保持されます。高可用性の要件がないシナリオや、K8s クラスタでのデプロイなど、Worker が高可用性を保証する必要がないシナリオに適しています(K8s クラスタによって保証されます)。

RocketMQ Connect部署模型单机